pub fn extract_between<'a>(s: &'a str, start: &str, end: &str) -> Option<&'a str> {
    let start_idx = s.find(start)?;
    let start_pos = start_idx + start.len();
    let end_idx = s[start_pos..].find(end)? + start_pos;
    Some(&s[start_pos..end_idx])
}
